"""
因为我的订单页面  有很多个商品，商品名字也可以是一样的；
但是因为每次提交的新的订单都在第一个 ，通过不唯一元素定位表达式定位到元素，find_element()只取第一个数。

"""

from selenium.webdriver.common.by import By
from common.base_page import BasePage

class MyOrderPage(BasePage):
    # 这里注意 新建的订单永远在最上面，所以就算有多个 也会取第一个。
    # 商品名称
    prod_name = (By.XPATH,'//a[@class="name"]')
    # 商品价格
    prod_price = (By.XPATH,'//div[contains(text(),"在线支付")]//span')
    # 订单状态
    order_status = (By.CLASS_NAME,'no-finish')
    # 商品数量
    prod_num = (By.XPATH,'//div[@class="goods-number"]')

    # 获取最新的商品的名称 : 这里注意 新建的订单永远在最上面，所以就算有多个 也会取第一个。
    def get_prod_name(self):
        return self.get_text(self.prod_name)

    #订单的商品的数量 --最新的订单 在最上面
    def get_order_prod_num(self):  # 获取的值是×2，所以切片
        return self.get_text(self.prod_num)[1:]

    # 获取订单的商品名字 --用来断言
    def get_order_prod_name(self):
        return self.get_text(self.prod_name)

    # 获取订单里的商品的价格：
    def get_order_prod_price(self):  # 价格是 ￥388.00 去除前面的 符号 要切片
        return self.get_text(self.prod_price)[1:]

    # 获取订单的支付状态
    def get_order_status(self): # 因为状态文本前后有很多空格  要去除空格
        return self.get_text(self.order_status).strip()